package com.seur.util;

import com.seur.modelo.Valor;
import com.seur.modelo.GestorAplicaciones;

import java.util.List;
import java.util.ArrayList;
import java.util.Arrays;

/**
 * User: Diego
 * Date: 04-jun-2009
 * Time: 16:32:18
 */
public class ComponenteDinamico {
    private String fuente;
    private String nombre;
    private String descripcion;
    private int tipo;
    private boolean obligatorio;
    private boolean editable;
    private List<Valor> valor=new ArrayList<Valor>();
    private List<Valor> valoresDisponibles=new ArrayList<Valor>();
    private String imagen;
    private boolean porDefecto=false;

    /* Constructores */
    public ComponenteDinamico() { }
    
    public ComponenteDinamico(String fuente) {
        this.fuente = fuente;
    }

    /* Getters y Setters */
    public String getFuente() { return fuente; }
    public void setFuente(String fuente) { this.fuente = fuente; }

    public String getNombre() { return nombre; }
    public void setNombre(String nombre) { this.nombre = nombre; }

    public String getDescripcion() { return descripcion; }
    public void setDescripcion(String descripcion) { this.descripcion = descripcion; }

    public int getTipo() { return tipo; }
    public void setTipo(int tipo) { this.tipo = tipo; }

    public boolean isObligatorio() { return obligatorio; }
    public void setObligatorio(boolean obligatorio) { this.obligatorio = obligatorio; }

    public boolean isEditable() { return editable; }
    public void setEditable(boolean editable) { this.editable = editable; }

    public Valor getValor() { return valor.get(0); }
    public void setValor(Valor valor) { this.valor.add(0,valor); }
    
    public List<Valor> getValores() { return valor; }
    public void setValores(List<Valor> valor) { this.valor = valor; }

    public String getImagen() { return imagen; }
    public void setImagen(String imagen) { this.imagen = imagen; }

    public boolean isPorDefecto() { return porDefecto; }
    public void setPorDefecto(boolean porDefecto) { this.porDefecto = porDefecto; }

    public List<Valor> getValoresDisponibles() { return valoresDisponibles; }
    public void setValoresDisponibles(List<Valor> valoresDisponibles) { this.valoresDisponibles = valoresDisponibles; }
    public void setValoresDisponibles(String valores){
        if (valores.equalsIgnoreCase("Aplicaciones"))
           valoresDisponibles = GestorAplicaciones.damePerfilesDisponibles();                    
    }
}
